// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:53:56


// Source File Name:   iu.java

package com.zelix;

import java.io.*;
import java.util.*;


//            kt, tb, dc, p6, 
//            qr, nh, is, zs, 
//            sm, lt, ot, j5, 
//            pt, tt, yt, bu, 
//            cu, sx, gt, qy, 
//            jb, it

public abstract class iu extends kt
    implements sm, Comparable
{

    ot k;
    zs l;
    zs m;
    int n;
    pt o[];
    private boolean p;
    public static boolean q;
    private static String z[];

    public iu(lt lt1, zs zs1, zs zs2, pt apt[])
    {
        super(lt1);
        p = true;
        k = new ot(this);
        l = zs1;
        m = zs2;
        n = apt.length;
        o = apt;
    }

    public iu(kt kt1, jb jb)
        throws IOException, dc
    {
        this(kt1, jb, ((qy) (null)), ((PrintWriter) (null)));
    }

    public iu(kt kt1, jb jb, qy qy1, PrintWriter printwriter)
        throws IOException, dc
    {
        super(kt1);
        p = true;
        k = new ot(this, jb);
        int i = jb.readUnsignedShort();
        int j = jb.readUnsignedShort();
        is is1 = a(i);
        is is2 = a(j);
        n = jb.readUnsignedShort();
        a(is1, is2, printwriter);
        if(qy1 != null)
        {
            qy1.b(l, this);
            qy1.b(m, this);
        }
    }

    final void a(int i, int j, Hashtable hashtable)
        throws tb
    {
        int i1;
        int j1;
        j1 = kt.i;
        String s1 = q();
        String s2 = is.a(s1, hashtable);
        if(!s2.equals(s1))
            a(s2);
        i1 = 0;
        if(j1 == 0) goto _L2; else goto _L1
_L1:
        if(o[i1] instanceof yt)
        {
            ((yt)o[i1]).a(i, j, hashtable);
            if(j1 == 0)
                continue;
        }
        if(o[i1] instanceof j5)
            ((j5)o[i1]).b(hashtable);
        i1++;
_L2:
        if(i1 >= o.length)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public final void a(zs zs1, zs zs2)
    {
label0:
        {
            if(l == zs1)
            {
                l = zs2;
                if(kt.i == 0)
                    break label0;
            }
            if(m == zs1)
                m = zs2;
        }
    }

    public int compareTo(Object obj)
    {
        iu iu1 = (iu)obj;
        return s().compareTo(iu1.s());
    }

    public final int a()
    {
        return k.a();
    }

    public String q()
    {
        return m.b();
    }

    public p6 a()
        throws tb
    {
        p6 p6_1 = new p6();
        b(p6_1.g(), p6_1.a(), p6_1.c(), p6_1.e());
        return p6_1;
    }

    public abstract String r();

    String s()
    {
        return l.b().toLowerCase();
    }

    public String t()
    {
        return k.q();
    }

    public String u()
    {
        return l.b();
    }

    public String v()
    {
        return ((lt)n()).j();
    }

    public String w()
    {
        return u();
    }

    public final boolean x()
    {
        return k.r();
    }

    boolean b()
    {
        int i;
        int j;
        j = kt.i;
        if(h().b())
            return k.b();
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        if(o[i].l.equals(z[0]))
            return true;
        i++;
_L2:
        if(i >= n)
            return false;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public final boolean y()
    {
        return k.s();
    }

    public final boolean z()
    {
        return k.u();
    }

    public final boolean A()
    {
        return k.v() && !k.w();
    }

    public final boolean B()
    {
        return k.w();
    }

    public final boolean C()
    {
        return k.x();
    }

    public final boolean D()
    {
        return k.y();
    }

    public final boolean E()
    {
        return k.A();
    }

    boolean F()
    {
        int i;
        int j;
        j = kt.i;
        if(h().b())
            return k.d();
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        if(o[i].l.equals(z[4]))
            return true;
        i++;
_L2:
        if(i >= n)
            return false;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public final boolean G()
    {
        return k.B();
    }

    public boolean H()
    {
        return p;
    }

    public final boolean I()
    {
        return k.C();
    }

    public void b(HashSet hashset, HashSet hashset1, HashSet hashset2, HashSet hashset3)
        throws tb
    {
        int i;
        int j;
        j = kt.i;
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        pt pt1 = o[i];
        if(pt1 instanceof yt)
        {
            yt yt1 = (yt)pt1;
            yt1.a(hashset1);
            if(j == 0)
                continue;
        }
        if(pt1 instanceof j5)
            ((j5)pt1).a(hashset, hashset1, hashset2, hashset3);
        i++;
_L2:
        if(i >= o.length)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public final void b(Hashtable hashtable)
    {
        int i;
        int j;
        j = kt.i;
        hashtable.put(l, l);
        hashtable.put(m, m);
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        o[i].a(hashtable);
        i++;
_L2:
        if(i >= o.length)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    final void g()
    {
        int i;
        int j;
        j = kt.i;
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        if(o[i] instanceof j5)
            ((j5)o[i]).a();
        i++;
_L2:
        if(i >= o.length)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    void c(Hashtable hashtable)
    {
        Vector vector;
        int i;
        int j1;
        j1 = kt.i;
        vector = new Vector(n);
        if(b())
            break MISSING_BLOCK_LABEL_169;
        if(k.d())
            d(false);
        i = 0;
        if(j1 == 0) goto _L2; else goto _L1
_L1:
        if(o[i] instanceof bu)
        {
            bu bu1 = (bu)o[i];
            bu1.a(hashtable);
            if(j1 == 0)
                continue; /* Loop/switch isn't completed */
        }
        vector.addElement(o[i]);
        i++;
_L2:
        if(i < n) goto _L1; else goto _L3
_L3:
        int j;
        int i1;
        j = vector.size();
        if(j >= n)
            break MISSING_BLOCK_LABEL_169;
        o = new pt[j];
        i1 = 0;
        if(j1 == 0) goto _L5; else goto _L4
_L4:
        o[i1] = (pt)vector.elementAt(i1);
        i1++;
_L5:
        if(i1 < j) goto _L4; else goto _L6
_L6:
        n = j;
        f();
    }

    void f()
    {
    }

    public void b(int i)
    {
        k.p(i);
        e();
        a(new sx(1), this, null);
    }

    final void a(it it)
    {
        int i;
        int j;
        j = kt.i;
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        if(o[i] instanceof j5)
            ((j5)o[i]).a(it);
        i++;
_L2:
        if(i >= o.length)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    void a(String s1)
    {
        m.a(s1);
        e();
        a(new sx(2), this, null);
    }

    public void a(boolean flag)
    {
        k.b(flag);
    }

    public void b(boolean flag)
    {
        p = flag;
    }

    public void b(String s1)
    {
        l.a(s1);
        e();
        a(new sx(0), this, null);
    }

    public void J()
    {
        k.D();
    }

    public void K()
    {
        k.E();
    }

    public void L()
    {
        k.F();
    }

    public void c(boolean flag)
    {
        k.c(flag);
    }

    public final void d(boolean flag)
    {
        k.f(flag);
    }

    public final void a(qr qr1, Hashtable hashtable, boolean flag, PrintWriter printwriter, PrintWriter printwriter1)
        throws tb
    {
        ArrayList arraylist;
        int i;
        int j;
        j = kt.i;
        arraylist = new ArrayList();
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        if(o[i] instanceof tt)
        {
            if(qr1.b)
            {
                tt tt1 = (tt)o[i];
                tt1.a(hashtable);
                if(j == 0)
                    continue;
            }
            arraylist.add(o[i]);
            if(j == 0)
                continue;
        }
        if(o[i] instanceof j5)
        {
            if(qr1.d)
            {
                j5 j5_1 = (j5)o[i];
                j5_1.a(hashtable);
                if(j == 0)
                    continue;
            }
            arraylist.add(o[i]);
            if(j == 0)
                continue;
        }
        if(o[i] instanceof cu)
        {
            if(qr1.c)
            {
                cu cu1 = (cu)o[i];
                cu1.a(hashtable);
                printwriter1.println(z[3] + cu1.r() + z[1] + r() + z[2] + lt.a(j()));
                if(!flag)
                    continue;
                printwriter.println(z[3] + cu1.r() + z[1] + r() + z[2] + lt.a(j()));
                if(j == 0)
                    continue;
            }
            arraylist.add(o[i]);
            if(j == 0)
                continue;
        }
        if(qr1.c)
            a(o[i], hashtable, flag, printwriter, printwriter1);
        arraylist.add(o[i]);
        i++;
_L2:
        if(i >= n)
        {
            if(arraylist.size() < n)
            {
                o = (pt[])arraylist.toArray(new pt[arraylist.size()]);
                n = o.length;
                f();
            }
            return;
        }
        if(true) goto _L1; else goto _L3
_L3:
    }

    public abstract void a(pt pt1, Hashtable hashtable, boolean flag, PrintWriter printwriter, PrintWriter printwriter1)
        throws tb;

    void a(is is1, is is2, PrintWriter printwriter)
        throws dc
    {
        l = (zs)is1;
        m = (zs)is2;
    }

    final void a(DataOutputStream dataoutputstream, Hashtable hashtable, nh nh1)
        throws IOException, tb
    {
        int i;
        int j;
label0:
        {
            j = kt.i;
            dataoutputstream.writeShort(k.a());
            zs zs1 = (zs)hashtable.get(l);
            if(zs1 != null)
            {
                dataoutputstream.writeShort(zs1.j());
                if(j == 0)
                    break label0;
            }
            dataoutputstream.writeShort(l.j());
        }
label1:
        {
            zs zs2 = (zs)hashtable.get(m);
            if(zs2 != null)
            {
                dataoutputstream.writeShort(zs2.j());
                if(j == 0)
                    break label1;
            }
            dataoutputstream.writeShort(m.j());
        }
        dataoutputstream.writeShort(n);
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
label2:
        {
            if(!(o[i] instanceof cu) || o[i].q() <= 0)
                break label2;
            cu cu1 = (cu)o[i];
            if(cu1.s())
            {
                nh1.e(z[8] + cu1.r() + z[6]);
                if(j == 0)
                    break label2;
            }
            nh1.e(z[9] + u() + z[5] + l() + z[10] + cu1.r() + z[7]);
        }
        o[i].a(dataoutputstream, hashtable, nh1);
        i++;
_L2:
        if(i >= n)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    private static String z(char ac[]) {
        for (int i = 0; i < ac.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key =0x66;
                    break;
                case 1:
                    key =105;
                    break;
                case 2:
                    key =24;
                    break;
                case 3:
                    key =106;
                    break;
                default:
                    key =24;
                    break;
            }
            ac[i] ^= key;
        }
        return new String(ac).intern();
    }

    static 
    {
        String as[];
        as = new String[11];
        as[0] = "$\033q\016\177\003";
        as[1] = "AIq\0048A";
        as[2] = "AIq\0048\005\005y\031kF";
        as[3] = "o-}\006}\022\000v\r8\023\007s\004w\021\0078\013l\022\033q\bm\022\f8M";
        as[4] = "5\020v\036p\003\035q\t";
        as[5] = "AIq\0048\005\005y\031kFN";
        as[6] = "AG8>p\003Iq\004l\003\016j\003l\037Iw\f8\022\001q\0318\007\035l\030q\004\034l\0178\013\baJz\003I}\f~\003\nl\017|F\013aJw\004\017m\031{\007\035q\005vH";
        as[7] = "AG8>p\003Iq\004l\003\016j\003l\037Iw\f8\022\001q\0318\007\035l\030q\004\034l\0178\013\baJz\003I}\f~\003\nl\017|F\013aJw\004\017m\031{\007\035q\005vHI[\005v\025\000|\017jF\034k\003v\001Il\002}F=j\003uF\017m\004{\022\000w\0048\022\0068\016}\n\fl\0178\017\0356";
        as[8] = "%\005y\031kF\004}\007z\003\033kJ{\t\007l\013q\bIm\004s\b\006o\0048\007\035l\030q\004\034l\0178A";
        as[9] = "+\fu\b}\024I?";
        as[10] = "AI{\005v\022\bq\004kF\034v\001v\t\036vJy\022\035j\003z\023\035}J?";
        for(int i = 0;i<as.length;i++){
            as[i] = z(as[i].toCharArray());
        }
        z = as;

    }
}